package com.ruoyi.ldzlsb.domain.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.core.annotation.Excel;
import com.ruoyi.common.core.web.domain.BaseEntity;
import java.math.BigDecimal;
import java.util.Date;

/**
 * 设备信息视图对象
 * 
 * @author ruoyi
 * @date 2025-07-25
 */
public class SbEquipmentVo extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /** 设备ID */
    private Long equipmentId;

    /** 设备编码 */
    @Excel(name = "设备编码")
    private String equipmentCode;

    /** 设备名称 */
    @Excel(name = "设备名称")
    private String equipmentName;

    /** 设备类型ID */
    private Long equipmentTypeId;

    /** 设备类型名称 */
    @Excel(name = "设备类型")
    private String equipmentTypeName;

    /** 设备状态（0正常 1使用中 2维修中 3报废） */
    @Excel(name = "设备状态", readConverterExp = "0=闲置,1=使用中,2=维修中,3=报废")
    private String equipmentStatus;

    /** 规格型号 */
    @Excel(name = "规格型号")
    private String specification;

    /** 制造商 */
    @Excel(name = "制造商")
    private String manufacturer;

    /** 购入日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "购入日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date purchaseDate;

    /** 购入价格 */
    @Excel(name = "购入价格")
    private BigDecimal purchasePrice;

    /** 质保期(月) */
    @Excel(name = "质保期(月)")
    private Integer warrantyPeriod;

    /** 质保到期日 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "质保到期日", width = 30, dateFormat = "yyyy-MM-dd")
    private Date warrantyEndDate;

    /** 序列号 */
    @Excel(name = "序列号")
    private String serialNumber;

    /** 负责人 */
    @Excel(name = "负责人")
    private String responsiblePerson;

    /** 用户ID */
    private Long userId;
    
    /** 用户昵称 */
    private String userNickName;

    /** 所属车间 */
    @Excel(name = "所属车间")
    private String workshop;

    /** 车间ID */
    private Long workshopId;

    /** 车间名称 */
    private String workshopName;

    /** 生产线 */
    @Excel(name = "生产线")
    private String productionLine;

    /** 生产线ID */
    private Long productionLineId;

    /** 生产线名称 */
    private String productionLineName;

    /** 联系电话 */
    @Excel(name = "联系电话")
    private String contactPhone;
    
    /** 设备型号 */
    private String model;
    
    /** 设备规格 */
    private String specifications;
    
    /** 重量(kg) */
    @Excel(name = "重量(kg)")
    private BigDecimal weight;

    /** 安装位置 */
    @Excel(name = "安装位置")
    private String location;

    /** 设备图片 */
    private String imageUrl;

    /** 是否删除(0未删除 1已删除) */
    private String isDelete;

    /** 技术参数 */
    private String technicalParams;

    /** 故障次数 */
    private Integer failureCount;

    /** 最近一次维修日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date lastMaintenanceDate;

    /** 部门名称 */
    @Excel(name = "部门名称")
    private String departmentName;
    
    /** 部门ID */
    private Long departmentId;

    public Long getEquipmentId() {
        return equipmentId;
    }

    public void setEquipmentId(Long equipmentId) {
        this.equipmentId = equipmentId;
    }

    public String getEquipmentCode() {
        return equipmentCode;
    }

    public void setEquipmentCode(String equipmentCode) {
        this.equipmentCode = equipmentCode;
    }

    public String getEquipmentName() {
        return equipmentName;
    }

    public void setEquipmentName(String equipmentName) {
        this.equipmentName = equipmentName;
    }

    public Long getEquipmentTypeId() {
        return equipmentTypeId;
    }

    public void setEquipmentTypeId(Long equipmentTypeId) {
        this.equipmentTypeId = equipmentTypeId;
    }

    public String getEquipmentTypeName() {
        return equipmentTypeName;
    }

    public void setEquipmentTypeName(String equipmentTypeName) {
        this.equipmentTypeName = equipmentTypeName;
    }

    public String getEquipmentStatus() {
        return equipmentStatus;
    }

    public void setEquipmentStatus(String equipmentStatus) {
        this.equipmentStatus = equipmentStatus;
    }

    public String getSpecification() {
        return specification;
    }

    public void setSpecification(String specification) {
        this.specification = specification;
    }

    public String getManufacturer() {
        return manufacturer;
    }

    public void setManufacturer(String manufacturer) {
        this.manufacturer = manufacturer;
    }

    public Date getPurchaseDate() {
        return purchaseDate;
    }

    public void setPurchaseDate(Date purchaseDate) {
        this.purchaseDate = purchaseDate;
    }

    public BigDecimal getPurchasePrice() {
        return purchasePrice;
    }

    public void setPurchasePrice(BigDecimal purchasePrice) {
        this.purchasePrice = purchasePrice;
    }

    public Integer getWarrantyPeriod() {
        return warrantyPeriod;
    }

    public void setWarrantyPeriod(Integer warrantyPeriod) {
        this.warrantyPeriod = warrantyPeriod;
    }

    public Date getWarrantyEndDate() {
        return warrantyEndDate;
    }

    public void setWarrantyEndDate(Date warrantyEndDate) {
        this.warrantyEndDate = warrantyEndDate;
    }

    public String getSerialNumber() {
        return serialNumber;
    }

    public void setSerialNumber(String serialNumber) {
        this.serialNumber = serialNumber;
    }

    public String getResponsiblePerson() {
        return responsiblePerson;
    }

    public void setResponsiblePerson(String responsiblePerson) {
        this.responsiblePerson = responsiblePerson;
    }
    
    public Long getUserId() {
        return userId;
    }
    
    public void setUserId(Long userId) {
        this.userId = userId;
    }

    public String getUserNickName() {
        return userNickName;
    }

    public void setUserNickName(String userNickName) {
        this.userNickName = userNickName;
    }

    public String getWorkshop() {
        return workshop;
    }

    public void setWorkshop(String workshop) {
        this.workshop = workshop;
    }

    public Long getWorkshopId() {
        return workshopId;
    }

    public void setWorkshopId(Long workshopId) {
        this.workshopId = workshopId;
    }

    public String getWorkshopName() {
        return workshopName;
    }

    public void setWorkshopName(String workshopName) {
        this.workshopName = workshopName;
    }

    public String getProductionLine() {
        return productionLine;
    }

    public void setProductionLine(String productionLine) {
        this.productionLine = productionLine;
    }

    public Long getProductionLineId() {
        return productionLineId;
    }

    public void setProductionLineId(Long productionLineId) {
        this.productionLineId = productionLineId;
    }

    public String getProductionLineName() {
        return productionLineName;
    }

    public void setProductionLineName(String productionLineName) {
        this.productionLineName = productionLineName;
    }

    public String getContactPhone() {
        return contactPhone;
    }

    public void setContactPhone(String contactPhone) {
        this.contactPhone = contactPhone;
    }

    public BigDecimal getWeight() {
        return weight;
    }

    public void setWeight(BigDecimal weight) {
        this.weight = weight;
    }

    public String getLocation() {
        return location;
    }

    public void setLocation(String location) {
        this.location = location;
    }

    public String getImageUrl() {
        return imageUrl;
    }

    public void setImageUrl(String imageUrl) {
        this.imageUrl = imageUrl;
    }

    public String getIsDelete() {
        return isDelete;
    }

    public void setIsDelete(String isDelete) {
        this.isDelete = isDelete;
    }

    public String getTechnicalParams() {
        return technicalParams;
    }

    public void setTechnicalParams(String technicalParams) {
        this.technicalParams = technicalParams;
    }

    public Integer getFailureCount() {
        return failureCount;
    }

    public void setFailureCount(Integer failureCount) {
        this.failureCount = failureCount;
    }

    public Date getLastMaintenanceDate() {
        return lastMaintenanceDate;
    }

    public void setLastMaintenanceDate(Date lastMaintenanceDate) {
        this.lastMaintenanceDate = lastMaintenanceDate;
    }
    
    public String getDepartmentName() {
        return departmentName;
    }
    
    public void setDepartmentName(String departmentName) {
        this.departmentName = departmentName;
    }
    
    public Long getDepartmentId() {
        return departmentId;
    }
    
    public void setDepartmentId(Long departmentId) {
        this.departmentId = departmentId;
    }
    
    public String getModel() {
        return model;
    }
    
    public void setModel(String model) {
        this.model = model;
    }
    
    public String getSpecifications() {
        return specifications;
    }
    
    public void setSpecifications(String specifications) {
        this.specifications = specifications;
    }
} 